/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package demo.array;

import java.util.StringTokenizer;

/**
 *
 * @author VANDH
 */
public class StringDemo {

    public static void main(String[] args) {
        String source = "Hello World";

        System.out.println(source);
        // lấy kích thước của chuỗi
        System.out.println("Length = " + source.length());
        // lấy kí tự tại vị trí thứ i
        System.out.println("Kí tự thứ 6 = " + source.charAt(6));
        // nối 2 chuỗi
        System.out.println("Nối chuỗi = " + source.concat(" 2013"));
        // so sánh 2 chuỗi, > 0 (source > paramter), 0, < 0
        System.out.println("So sánh = " + source.compareTo("Hello War"));
        System.out.println("So sánh = " + source.compareToIgnoreCase("Hello war"));
        // tìm kiếm lần xuất hiện đầu tiên trong chuỗi
        System.out.println("Tìm chuỗi = " + source.indexOf("Wo"));
        // tìm kiếm lần xuất hiện cuối cùng trong chuỗi
        System.out.println("Tìm chuỗi = " + source.lastIndexOf("l"));
        // thay thế chuỗi
        System.out.println("Thay thế = " + source.replace("l", "i"));
        // cắt lấy chuỗi từ vị trí [1, 7)
        System.out.println("Cắt chuỗi = " + source.substring(1, 7));
        // cắt bỏ khoảng trắng đầu đuôi
        System.out.println("Cắt đầu đuôi = " + source.trim());


        StringBuilder sb = new StringBuilder(source);

        // nối chuỗi
        sb.append(" 2013 ");    // sb : " Hello World 2013"
        System.out.println(sb.toString());

        // insert
        sb.insert(sb.length(), " Mr V");
        System.out.println(sb);

        // delete
        sb.delete(11, 11 + 6);
        System.out.println(sb);

        // replace
        sb.replace(11, 16, " Mr Van");
        System.out.println(sb);

        // reverse
        System.out.println(sb.reverse());

        // Thiếu
        // Cắt bớt khoảng trắng giữa các từ

        // Chuyển đổi hoa thường
        // 1. tất cả thường/hoa
        // 2. chỉ viết hoa kí tự đầu mỗi từ
        // 3. chỉ viết hoa kí tự đầu dòng

        // Cắt chuỗi giới hạn số lượng kí tự, không bị cắt giữa từ
        // Chuyển chuỗi có dấu thành không dấu

        StringTokenizer st = new StringTokenizer(source);

        System.out.println("Count token = " + st.countTokens());
        while (st.hasMoreTokens()) {
            System.out.println(st.nextToken());
        }
    }
}
